package com.coder.algorithm.leetcode;

public class l_0091 {

    public static void main(String[] args) {
        Solution solution = new Solution();
        int ans = solution.numDecodings("12");
        System.out.println(ans);
    }
    static class Solution {
        public int numDecodings(String s) {
            int n = s.length();
            int[] f = new int[n + 1];
            f[0] = 1;
            for (int i = 1; i <= n; ++i) {
                if (s.charAt(i - 1) != '0') {
                    f[i] += f[i - 1];
                }
                if (i > 1 && s.charAt(i - 2) != '0' && ((s.charAt(i - 2) - '0') * 10 + (s.charAt(i - 1) - '0') <= 26)) {
                    f[i] += f[i - 2];
                }
                System.out.println("i = " + i + ", ans = " + f[i]);
            }
            return f[n];
        }
    }
}
